Description
In tui/dashboard.py, replace the entire page-news layout with exactly four equal DashPanel widgets — one per brief category (Politics, Technology, Sports, Culture). No other panels on this page.
New layout (2×2 grid): Row 1: np-brief-politics, np-brief-tech Row 2: np-brief-sports, np-brief-culture
Remove from page-news entirely: np-news (Headlines), np-feeds (Feeds), np-hackernews (HN). Those stay on page-personal only.
Implementation:
- Add render_brief_section(section: dict) -> Text for a single BriefSection.
- In refresh_data(), look up each category by key from the briefs payload and feed its panel.
- 'No brief.' dim fallback if category missing.
Reference: render_briefs() line 513 tui/dashboard.py; BriefSection shape lib/schemas/sources/briefs.ts.
Acceptance Criteria
- #1 page-news shows 4 equal brief panels (Politics/Tech/Sports/Culture); no merged briefs panel; no headlines panel on news page; each panel shows its category's stories independently
- #2 page-news is exactly 4 panels in 2x2 grid (Politics/Tech/Sports/Culture); no other widgets on the page